#ifndef DAQ207_H
#define DAQ207_H

#include "libdaq/device/DAQ217/DAQ217.h"

namespace libdaq {
namespace device {

class DAQ207 : public DAQ217 {
public:
  DAQ207();
  ~DAQ207() override;

  static backend::USBOption GetUSBOption() { return libdaq::backend::USBOption(DAQ216_USB_VENDOR_ID, DAQ216_USB_PRODUCT_ID, DAQ216_USB_END_POINT_IN, DAQ216_USB_END_POINT_OUT); }

protected:
  bool ParseCommandPacket(std::vector<unsigned char> &temp_parse_buffer, unsigned char &packet_index) override; // 解析命令包
  bool ParseDataPacket(std::vector<unsigned char> &temp_parse_buffer, unsigned char &packet_index) override ; // 解析数据包
  virtual bool SendSaveOffsetCalibrationX1(const std::vector<uint8_t> &state); // 保存偏移校正x1档
  virtual bool SendSaveOffsetCalibrationX10(const std::vector<uint8_t> &state); // 保存偏移校正x10档
  virtual bool SendSaveGainCalibrationX1(const std::vector<uint8_t> &state); // 保存增益校正x1档
  virtual bool SendSaveGainCalibrationX10(const std::vector<uint8_t> &state); // 保存增益校正x10档
};
}
}
#endif // DAQ207_H
